export type BlockchainNodeConfigType = {
    name: string;
    host: string;
};

export type BlockchainGenesisConfigType = {
    bondingTimeInSeconds: number;
    minDeposit: string;
};

export type BlockchainConfigType = {
    chainId: string;
    nodes: number | BlockchainNodeConfigType[];
    genesisConfig?: BlockchainGenesisConfigType;
};

export type BridgeWitness = {
    type: "aws";
    evmAddress: string;
    xrpAddress: string;
    region: string;
    accessKey: string;
    secretAccessKey: string;
    keyId: string;
};

export type BridgeConfigType = {
    xrplAddress?: string;
    xrplRpc: string;
    xrplSeed: string;
    minCreateAmount: number;
    minRewardAmount: number;
    quorum: number;
    witnesses: BridgeWitness[];
};

export type ConfigType = {
    blockchain: BlockchainConfigType;
    bridge: BridgeConfigType;
    explorer: {
        disable: boolean;
    };
};
